VSCode Debugging
launch.json
name, type(言語), request(attachするかどうか?)を決める???
設定項目は、
mode, preLaunchTask, internalConsoleOption, program, args, env, cwd, stopOnEntry, port, host, console, windows
変数は、
$workspaceRoot, $workspaceRootFolderName, file, relativeFile, fileBasename, fileBasenameNoExtensions, fileDirname, cwd, lineNumber,
env.Name, config:Name(settings.jsonからの値)
Debugger extensions
Node.js runtime, javascript, 他のlanguageまでできる。Debugger extensionsをinstall すればよい。 Start debugging
nodejsの例で解説するよ。ほかも似たようなものだから。
hello world な app.jsを作ってやろう。
ここで、debugまで紹介されている。
loader.jsが、環境で、nodejs or chromeと聞いてくる。chromeを選ぶと、launch.jsonのファイルを設定しろと。
で、ここでは、 expressの導入に話が進む
$ npm install -g express-generator
$ express myExpressApp
$ cd myExpressApp
$ npm install
これで、node_modules配下にいろいろ入る
package-lock.jsonも、(gitに?) commit するべきと書いてある。なるほど
nodejsは初心者だから、もう少し付き合う。
$ npm start
これで、expressサーバーが立ち上がった。
Great code editing
vscodeの intellisenseなどの紹介。 typescriptの話と、exportとrequire,
debug your Express app
environmentをnodejsにしてみる
.vscode/launch.jsonが開く
最初にlaunch.jsonを開く際に、vscodeは、package.jsonをみる。で、launch.jsonのprogramの値をsetする
launch programが、debug viewにあることを確認
F5でdebug start
debuggerがあるportをlisteningして立ち上がる。vscodeをそのdebuggerにattachする。
Debug veiw
ok.
Debug menu
ok, いろいろ機能があるのはわかった。
Launch configuration
上記のwalk thoughでやった。
Debuggg actions
step xなど、ok
Breakpoints
たぶん ok
Data inspection
later
Launch.json attributes
intelliSenseのsuggestで、使える属性を確認した(いくつかしか頭に残らないけど)。
Variable substition
${workspaceFolder}, ${env:Name} などのsubstituionを利用する
Platform-specific properties
pass
Global launch configurations
"launch": {...}を設定すると、workspaceで設定を共用できるそう。
Advanced breakpoint topics
conditional breakpoints(expression condition, hit count)
inline(行の途中?にいれられる) shift+F9
https://gyazo.com/9ba6510377b03741bd84a78888d65729
なるほど。
function breakpoints, pass
Debug Console REPL
これは使いそう。
Multi-target debugging
pass
Remote debugging
Next steps
Common questions